package com.gagakuai.engine.impl.runtime;

import com.gagakuai.engine.impl.delegate.ActivityExecution;
import com.gagakuai.engine.impl.pvm.*;
import com.gagakuai.engine.impl.pvm.process.ActivityImpl;
import com.gagakuai.engine.impl.pvm.runtime.StartingExecution;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/*
 * @program: common-starters
 * @description:
 * @author: houhong
 * @create: 2023-01-02 17:22
 */
public class ExecutionImpl implements
        Serializable,
        ActivityExecution,
        PvmExecution,
        InterpretableExecution {

    /*
     * 开始执行的节点
     */
    protected StartingExecution startingExecution;

    public ExecutionImpl(ActivityImpl initial) {
        startingExecution = new StartingExecution(initial);
    }

    @Override
    public void signal(String signalName, Object signalData) {

    }

    @Override
    public PvmActivity getActivity() {
        return null;
    }

    @Override
    public boolean hasVariable(String variableName) {
        return false;
    }

    @Override
    public void setVariable(String variableName, Object value) {

    }

    @Override
    public Object getVariable(String variableName) {
        return null;
    }

    @Override
    public Map<String, Object> getVariables() {
        return null;
    }

    @Override
    public ActivityExecution createExecution() {
        return null;
    }

    @Override
    public void take(PvmTransition transition) {

    }

    @Override
    public PvmProcessInstance createSubProcessInstance(PvmProcessDefinition processDefinition) {
        return null;
    }

    @Override
    public ActivityExecution getParent() {
        return null;
    }

    @Override
    public List<? extends ActivityExecution> getExecutions() {
        return null;
    }

    @Override
    public void end() {

    }

    @Override
    public String getId() {
        return null;
    }

    @Override
    public String petProcessInstanceId() {
        return null;
    }

    @Override
    public String getBusinessKey() {
        return null;
    }

    @Override
    public String getProcessBusinessKey() {
        return null;
    }

    @Override
    public String getProcessDefinitionId() {
        return null;
    }

    @Override
    public String getCurrentActivityId() {
        return null;
    }

    @Override
    public String getCurrentActivityName() {
        return null;
    }

    @Override
    public void start() {

    }

    @Override
    public PvmExecution findExecution(String activityId) {
        return null;
    }

    @Override
    public List<String> findActivityIds() {
        return null;
    }

    @Override
    public boolean isEnded() {
        return false;
    }

    @Override
    public void deleteCascade(String deleteReason) {

    }

    @Override
    public void setBusinessKey(String businessKey) {

    }
}